package com.hqyj.javacode.datetype;
/**
 * int:-2147483648~2147483647
 */
public class TestInt {
    public static void main(String[] args) {
        //1.整数的直接量为int
        int a = 100;//100就是直接写出的整数，因此100的默认类型为int
        //byte b = 128;//128是直接写出的整数，默认为int
        byte c = 1;//大小问题byte:-128~127
        //int x = 2147483648;//直接量必须在int范围内
        //可以使用16进制和8进制表示整数
        int x = 020;//16
        int y = 0x10;//16
        System.out.println(x);
        System.out.println(y);
        //2.整数除法运算的整数(取出整数部分舍弃小数部分)
        int count = 5 / 3;//
        System.out.println(count);

        int score = 100;
        int error = 30;
        int percent = error / score * 100;//0
        System.out.println(percent);
        //3.运算时防止溢出(存不下)的发生
        byte d = 127;
        d = (byte) (d + 1);//-128
        System.out.println(d);

        int res = 2147483647;
        res = res + 1;
        System.out.println(res);//-2147483648
      /*
      总结：
         int的范围为-2147483648~2147183647；
         直接写出来的没有超过int范围的默认类型为int；
         整数除法运算会取整
         当运算时超过int存储范围则结果不符合逻辑。
       */
    }
}
